For each..next
L'istruzione di controllo for each..next è un costrutto per la ripetizione di script che esegue una o più istruzioni per ogni valore in un elenco le cui voci sono separate da virgole. Le istruzioni incluse nel ciclo fra for e next verranno eseguite per ogni valore nell'elenco.
Sintassi:
Una sintassi speciale consente di generare elenchi contenenti nomi di file e di directory nella directory attuale.
for each var in list
[statements]
[exit for [ ( when | unless ) condition ]
[statements]
next [var]
Argomenti:
Argomento | Descrizione |
---|---|
var | Il nome di una variabile di script che acquisisce un nuovo valore dall'elenco a ogni esecuzione del ciclo. Se var viene specificato dopo next, deve avere lo stesso nome di variabile rilevato dopo l'istruzione for each corrispondente. |
Il valore della variabile var può essere modificato dalle istruzioni all'interno del ciclo, tuttavia l'utilizzo di questa procedura di programmazione non è consigliato.
Se all'interno del ciclo è presente una clausola exit for, l'esecuzione dello script verrà trasferita alla prima istruzione dopo la clausola next indicando quindi la fine del ciclo. Una clausola exit for può essere resa condizionale dall'utilizzo opzionale di un suffisso when o unless.
Sintassi:
list := item { , item }
item := constant | (expression) | filelist mask | dirlist mask | fieldvaluelist mask
Argomento | Descrizione |
---|---|
constant | Qualsiasi numero o stringa. Tenere presente che una stringa inserita direttamente nello script deve essere racchiusa tra virgolette singole. Se la stringa non viene racchiusa tra virgolette singole, verrà interpretata come una variabile, pertanto verrà utilizzato il valore della variabile. Non è necessario che i numeri siano racchiusi tra virgolette singole. |
expression | Un'espressione arbitraria. |
mask | Una maschera di un nome di file o di cartella che può includere un carattere qualsiasi di nome di file valido, così come i caratteri speciali standard, quali * e ?. È possibile utilizzare percorsi di file assoluti o percorsi lib://. |
condition | Un'espressione logica che restituisce un valore True o False. |
statements | Qualsiasi gruppo di una o più istruzioni dello script di Qlik Sense. |
filelist mask | Questa sintassi restituisce un elenco con valori separati da virgole di tutti i file presenti nella directory attuale che presentano una corrispondenza con la maschera del nome di file. |
dirlist mask | Questa sintassi restituisce un elenco con valori separati da virgole di tutte le cartelle incluse nella cartella attuale che presentano una corrispondenza con la maschera del nome di file. |
fieldvaluelist mask | Questa sintassi ripete i valori di un campo già caricato in Qlik Sense. |
Esempio 1: Caricamento di un elenco di file
Esempio 2: Creazione di un elenco di file sul disco
In questo esempio viene caricato un elenco di tutti i file correlati a Qlik Sense in una cartella.
Esempio 3: Ripetizione dei valori di un campo
In questo esempio viene ripetuto l'elenco di valori caricati di FIELD e viene generato un nuovo campo NEWFIELD. Per ciascun valore di FIELD, verranno creati due record NEWFIELD.
La tabella risultante avrà l'aspetto seguente:
NEWFIELD |
---|
one-1 |
one-2 |
two-1 |
two-2 |
three-1 |
three-2 |